Vymazanie spusteneho programu
Otázka od: Martin Kasman
7. 1. 2004 10:24
Chcem aby program, ktory bezi sam seba vymazal. Jedna sa totizto o
odinstalacny program. Ako to urobit? Da sa to vobec? Mam urobit nejaky zapis
do registra, aby pri spusteni pocitac program vymazal?
Vdaka za kazdu radu.
Odpovedá: Jan Krizek
7. 1. 2004 11:24
Toto by melo nastavit smazani souboru po restartu pocitace:
if IsWinNT then
MoveFileEx( PChar( Filename ), nil,
MOVEFILE_DELAY_UNTIL_REBOOT )
else
WritePrivateProfileString( 'Rename', 'NUL', PChar( Filename ),
'wininit.ini' );
Honza +
p.s. IsWinNT je detekce zda se jedna o Win NT nebo Win9x, najdes ji
napr. v JCL.
> -----Original Message-----
> From: Martin Kasman [mailto:martinkasman@martinkasman.sk]
> Sent: Wednesday, January 07, 2004 9:38 AM
> To: delphi-l@clexpert.cz
> Subject: Vymazanie spusteneho programu
>
>
> Chcem aby program, ktory bezi sam seba vymazal. Jedna sa totizto o
> odinstalacny program. Ako to urobit? Da sa to vobec? Mam
> urobit nejaky zapis
> do registra, aby pri spusteni pocitac program vymazal?
>
> Vdaka za kazdu radu.
>
>
>
>
>
Odpovedá: Tvrz Miroslav
7. 1. 2004 11:21
> odinstalacny program. Ako to urobit? Da sa to vobec? Mam urobit nejaky
zapis
> do registra, aby pri spusteni pocitac program vymazal?
Bud do nekam registru a nebo si udelej davkovy soubor (.BAT) - vytvoris jej
v TEMPu systemu, zapises do nej par prikazu pro smazani tveho programu a
pak ho po vytvoreni spust pomoci CreateProcess
(http://www.delphicorner.f9.co.uk/articles/wapi4.htm).
Omlouvam se jestli to nepisu zcela presne, ale je to uz par roku co jsem
tohle delal a ted matne vzpominam - muzu poslat cast kodu ktery jsem na
tohle pouzil.
MI'RA
-----Original Message-----
From: Martin Kasman [mailto:martinkasman@martinkasman.sk]
Sent: Wednesday, January 07, 2004 9:38 AM
To: delphi-l@clexpert.cz
Subject: Vymazanie spusteneho programu
Chcem aby program, ktory bezi sam seba vymazal. Jedna sa totizto o
odinstalacny program. Ako to urobit? Da sa to vobec? Mam urobit nejaky zapis
do registra, aby pri spusteni pocitac program vymazal?
Vdaka za kazdu radu.
Odpovedá: Ondrej Kelle
7. 1. 2004 11:18
> Chcem aby program, ktory bezi sam seba vymazal. Jedna sa totizto o
> odinstalacny program. Ako to urobit? Da sa to vobec? Mam
> urobit nejaky zapis
> do registra, aby pri spusteni pocitac program vymazal?
Dalsia moznost je, ze program sa pri starte skopiruje do temp adresara,
spusti tu kopiu a ukonci sa. Kopia beziaca v temp adresari potom moze mazat
povodny program.
Sama seba potom nastavi v registry na zmazanie po reboote, ako tu uz bolo
ukazane.
Vyhoda tohto postupu moze byt v tom, ze mozes mazat cele adresare danej
aplikacie este pred rebootom - cize odinstalacia prebehne takmer kompletne
hned - zostava uz len dany setup.exe v temp adresari, a ten bude zmazany pri
dalsom reboote.
HTH
TOndrej